
        <html>
			<head>
			     <title>“短信拦截马”黑色产业链与溯源取证研究 - 猎豹科学院</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/papers/8566">http://drops.wooyun.org/papers/8566</a></h1>
				
      <p>
        <h1>0x00 引言</h1>

<hr />

<p>根据猎豹安全实验室的云端监控数据显示，近1个月截获的“短信拦截”类样本变种数量超过10万，影响用户数达数百万之多。“短信拦截”木马作为安卓手机病毒中的一类常见样本，近两年来显现出爆发增长的趋势，其背后的黑色产业链也日益发展壮大，“短信拦截马”的日趋泛滥已经成为移动支付、网银财产等各环节的焦点安全问题。</p>

<p>“短信拦截马”导致网银资金被盗的新闻屡见报端，作为一个安全厂商我们对受害用户的遭遇也深感痛心，这也推动我们在查杀对抗“短信拦截马”的工作中投入更多的努力。在安全对抗过程中我们对“短信拦截马”黑产的运作有了一些了解，在针对黑产团伙进行追踪取证方面也做出了一些尝试，下面把在我们这个过程中产生的一些经验和思考做一个分享，希望可以让用户能够更多地了解和规避此类安全风险，也希望安全圈内有更多的目光可以关注到这个问题。</p>

<h1>0x01 典型样本分析</h1>

<hr />

<p>典型的“短信拦截马”从技术原理和实现上看并不复杂，大多通过注册短信广播(<code>BroadcastReceiver</code>)或者观察模式(<code>ContenetObserver</code>)监控手机短信的收发过程，当然也出现一些功能更全面强大的远控类手机木马，短信拦截只是其中的一项功能。网上类似的短信拦截源码也非常多，了解过安卓开发的都可以很快编写出一个“短信拦截马”，这也是“短信拦截马”变种速度快、传播泛滥的一个重要原因。</p>

<!--more-->

<p>在我们近期的云端监控中有一类“短信拦截马”变种非常活跃，占据总体样本量的15%左右。该样本使用“<code>stalker</code>”作为配置信息的加密密钥，所以我们将其命名为“潜行者”，下面我们就以它为例对典型“短信拦截马”进行简单的技术分析。</p>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912392390091pic1.png" alt="" /></p>

<p>从上图可以看出一个“短信拦截马”的典型功能结构，在我们对“潜行者”样本的分析过程中也发现一些比较有意思的细节，如下：</p>

<ol>
<li><p>出于兼容性考虑，木马同时使用了“广播机制”和“观察者模式”两种方法进行短信拦截。从木马启动的时候检查授权时间也可以看出这个变种是由木马作者开发以后进行外部出售的。</p>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912392620965pic2.png" alt="" /></p></li>
<li><p>木马在向控制手机回传部分短信时对敏感关键词进行了过滤替换，防止手机安全软件进行监控拦截。</p>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912392978406pic3.png" alt="" /></p></li>
</ol>

<h1>0x02 黑色产业链结构</h1>

<hr />

<p>如下图所示，“拦截马”黑色产业链条从整体分工层次上看相对比较清晰，木马作者、分发传播、出料、洗拦截料、转账洗钱构成了黑色产业链的关键环节，其中握有大量“拦截料”的料主在整个链条中处于相对核心的地位。</p>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912393297963pic4.png" alt="" /></p>

<p>另一方面从实际运作来看整个圈子又具有一定程度的复杂性，除了上述几个重要参与角色，每个产业链环节还会有一些其他黑产人员参与其中，比如盗卖个人信息、黑卡买卖、钓鱼后台维护、木马免杀处理等等，甚至还包括一些境外洗钱组织的身影；黑产圈子内部也充满了欺诈，“黑料”这样的事情也成为常态，具有一定技术实力的团伙才是暴利所得者；另外某些技术、资源实力强大的团伙，可能会包揽整个链条的多个甚至是全部环节，其暴利收益自然也是最高的。</p>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912393792615pic5.png" alt="" /></p>

<h1>0x03 传播渠道</h1>

<hr />

<p>伴随着“短信拦截”黑色产业链的发展，技术门槛低、回报收益高的特点吸引着众多的各路黑产从业人员相继加入，拦截马的传播渠道也随之日渐丰富，各种钓鱼诱骗手段层出不穷，从伪基站、短信猫等硬件设备群发、色情钓鱼网站诱导以及鱼龙混杂的第三方app分发渠道均有介入。</p>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912394365727pic6.png" alt="" /></p>

<p>我们从近期拦截的“短信拦截马”中抽取了2000个活跃样本，对其传播使用的文件名和部分钓鱼短信内容进行了关键词提取，统计结果如下图所示，从中我们可以看出利用“相册相片”、“文件资料”等关键词的钓鱼手法占据了一半以上，这类关键词一般用于通讯录群发这样的病毒式传播手段，拦截量相对较高；其次是伪基站类的钓鱼手法，常见类型如10086积分兑换、银行升级等；还有一部分是针对特定人群的钓鱼攻击，比如车辆违章、校园通、成绩单等，这些往往是由于车主或者家长信息泄漏导致的；最后还有一些是利用社会热点进行传播的，比如前段时间很火的“优衣库”事件。</p>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912394753708pic7.png" alt="" /></p>

<p>如下图所示，传播渠道的变化还表现出一个重要趋势，从早期“普遍撒网”的暴力传播模式开始向定向精准化钓鱼攻击转变。尤其是近年来个人信息数据的泄漏买卖行为日益活跃，成为拦截马定向传播的一大帮凶，黑产团伙通过购买商业贷款、信用卡办理、网购用户等具有较高目标价值的个人数据，然后根据相关情景去精心构造钓鱼短信，由于短信中包含用户姓名、身份证号或者银行卡号等个人数据，而且短信的情景也符合近期办理的业务，收到钓鱼短信的用户往往放松了安全警惕导致中招；又例如出现一些“背包客”随身携带伪基站设备群发钓鱼短信，他们主要在大型购物商场、高端写字楼等区域活动，这些地方人流量足够大，更重要的是在此类区域活动的人群具有更高的“经济附加值”。</p>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912395249487pic8.png" alt="" /></p>

<h1>0x04 洗料通道</h1>

<hr />

<p>用户银行卡卡内的资金能够被黑产团伙顺利转移，一方面是由于用户网银信息泄漏和手机被木马控制，另一方面重要原因在于国内各类混乱的支付渠道缺乏有效安全监管，或多或少都存在一些风险控制上的漏洞。以我们去年跟进的一个“洗料通道”案件为例，北京某第三方平台的支付渠道被黑产团伙利用，短短数月的时间内受害用户多达数千人，损失金额从几十到数万不等。</p>

<p>黑产团伙“洗拦截料”的方式多种多样，不同“洗料通道”的转账限额也有差异。黑产团伙一般是通过银行、商户或者第三方支付的各类快捷支付渠道将用户卡内资金转走，从部分受害用户追查的消费记录来看，资金流向也五花八门，包括购买游戏币、彩票、话费充值、机票门票等多种多样的洗料方法。有些信用卡cvv码泄漏的用户还发现通过境外消费渠道被划走资金。有些被感染手机可能还会被订阅一些恶意扣费服务或者使用手机话费支付购买游戏点卡后再进行销赃。</p>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912395751763pic9.png" alt="" /></p>

<p>越来越多的认证绑定、安全验证被转移到用户手机上，作为个人信息中心的智能手机扮演了基础通讯之外更多的角色。一方面确实带来了非常多的便捷，但另一方面在手机中毒这样的特定场景下，用户的安全防线往往变得脆弱不堪。在保持手机支付便捷性的同时，我们需要一些更安全可靠的认证方式，比如指纹认证。安全对抗可能永远都不会止步，但是我们相信未来可以做得更好。</p>

<h1>0x05 溯源取证案例</h1>

<hr />

<p>在近两年与“短信拦截马”的安全对抗中，我们也实际接触到了非常多的受害用户，被盗资金少则数百上千，多则数十万，而多方互相推诿责任、立案取证追查困难可能是大多数受害用户得到的最终结果。抛开外部各方的其他因素，此类网络犯罪的技术取证也确实存在一些难点，以“短信拦截马”为例：</p>

<ol>
<li>黑产各环节关系交错复杂，一条“拦截料”被洗之前往往可能被买卖转手多次；</li>
<li>其用于钓鱼网站搭建或者接收控制的后台服务器较多使用国外主机；</li>
<li>用于命令控制的手机卡基本都是不记名卡，追查定位相对困难；</li>
<li>盗洗的资金也往往经过较多次的分流清洗，基本上都使用黑卡转账，给资金流向追踪带来困难。</li>
</ol>

<p>当然作为一家安全厂商，在这场安全对抗中也有我们自己的优势，针对此类诈骗短信、钓鱼网站以及“短信拦截马” 变种传播速度较快的特点，我们优化加强了云端安全鉴定机制，可以做到更快的全网响应拦截，避免其进一步传播危害用户；另一方面通过对这些分散的网银钓鱼攻击、手机木马传播等拦截数据的汇总分析，从中我们可以梳理出全国各地区活跃度较高的黑产团伙，然后进行更具针对性的监控和追踪取证。</p>

<h2>[一]、伪基站短信钓鱼案例</h2>

<p>伪基站短信钓鱼是“短信拦截马”非常重要的一个传播渠道，从伪基站钓鱼网站拦截这方面着手，云端数据显示从14年下半年开始，伪基站短信钓鱼进入异常活跃期，高峰期平均每天新增的钓鱼网站多达近千个。“短信拦截马”的安全威胁、影响范围都远超其他类型的手机病毒，当黑产团伙同时掌握了用户的银行卡信息和验证手机，用户的网银资产可以说是完全沦为“砧板上的鱼肉”。</p>

<p>我们对其中的活跃钓鱼网站进行了分类和安全测试，也对从其他渠道收集到的伪基站钓鱼网站源码进行了分析，发现了包括sql注入、存储型xss、后台越权等多类安全漏洞，由于这些常见伪基站钓鱼站点大多基于几类固定模版开发编写，所以这些安全漏洞通用性相对较高。这些漏洞相对都比较简单，今年在乌云等安全平台也多有披露，这里就不再赘述技术细节。</p>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912400017871pic10.png" alt="" /></p>

<p>活跃度高的伪基站钓鱼网站会自动加入我们的取证系统中，通过对上述漏洞的批量自动利用我们可以对全国范围内的活跃黑产团伙进行长期监控。综合受害者分布、钓鱼后台登录IP等数据分析，我们对全国伪基站钓鱼黑产的规模和运作有了更深入的了解。</p>

<ol>
<li>全国受害用户众多，从数百钓鱼网站后台记录中共发现超过40万条的用户网银数据，包括：姓名、身份证号、开户行、银行卡号、取款密码、CVV码等；通过跟踪对比，这些活跃钓鱼后台平均每天新增数据超过300条，有些甚至多达上千条。</li>
<li>黑产团伙和受害用户的分布都存在地域聚集的特点。黑产团伙集中在广东、福建、海南、广西等地区，比例超过80%；受害用户分布较多的为广东、湖南、湖北、河南4大省份，比例超过60%。</li>
</ol>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912400516585pic11.png" alt="" /></p>

<p>从14年下半年开始我们加强了对“伪基站钓鱼”传播渠道的监控力度，共筛选梳理出20余个高度活跃的黑产团伙，我们将掌握的部分犯罪证据和追踪定位信息反馈给全国多地警方，配合打击了这批黑产犯罪团伙。目前其中的部分涉案团伙已经抓捕归案，涉案金额最少都在百万级别，希望更多的受害用户在结案以后能追回自己被盗的资金。</p>

<h2>[二]、“短信拦截马”取证案例</h2>

<p>在本文的开始也提到了近两年“短信拦截马”样本变种的拦截量增长非常迅猛。“短信拦截马”样本中相当一部分使用邮箱收信，同时使用手机短信进行远程控制，这些特点都可以作为溯源取证的常见入手点；当然也有部分样本使用一些web程序进行收信管理，在我们的实际测试过程中同样发现了多类安全漏洞，可以用来辅助实现自动化的安全取证；另一方面，针对“短信拦截马”的特点和传播场景，我们也尝试过“以彼之道还施彼身”的“反向钓鱼”，后面会讲到如何使用“反向钓鱼”手段去追踪黑产团伙。</p>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912401181350pic12.png" alt="" /></p>

<p>我们的安全监控系统会对入库的“短信拦截马”样本进行解包分析，根据辅助特征自动从反编译代码中提取出黑产团伙使用的邮箱帐号密码和控制手机号码，对其中拦截量较大的变种类型我们也会相应加强后续的监控跟踪。</p>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912401755338pic13.png" alt="" /></p>

<p>另一方面，基于“短信拦截马”的特殊传播场景，我们可以伪装为受害者，使用样本收信的邮箱帐号密码或者后台接口向黑产团伙投递一封精心构造的“反向钓鱼”诱饵，诱导其打开钓鱼链接从而获取到对方的IP地址。甚至更进一步诱导其安装我们的钓鱼app，然后使用GPS定位、前置摄像头拍照等功能获取更多的取证信息。</p>

<p>“反向钓鱼”的取证思路并不复杂，重点在于“诱饵”短信要恰到好处的引起目标的兴趣，同时也不能太过突兀引起目标警觉，最好是和部分正常短信信息融合到一起，做到“真中有假、假中有真”；另一方面，目标的注意力大多集中在如何从用户短信中寻找到更多有价值的目标信息，所以往往会忽略“诱饵”的真假，这种心理特点也是“反向钓鱼”手段能够成功的一个重要因素。</p>

<p><img src="http://static.wooyun.org//drops/20150909/2015090912402156348pic14.png" alt="" /></p>

<h1>0x06 更多思考</h1>

<hr />

<p>本文从典型样本、黑产链条、追踪取证等多个方面对“短信拦截马”背后的黑色产业链进行了一些剖析总结，可以看出这一黑产的形成运作是一个复杂交错的产物。我们对它的了解可能还比较片面，其中的种种隐秘内幕也远超这篇文章所能揭露的。这场“短信拦截马”的安全对抗除了安全厂商的查杀拦截之外，还涉及到移动网络安全、手机系统安全、银行资金风控、打击犯罪等多个环节，如何更好地保护用户网络财产安全，我们需要比现在行动得更多、思考得更远。</p>

<ol>
<li>作为安全厂商，除了完善对“短信拦截马”样本、钓鱼网站等威胁的鉴定机制、提升响应速度和查杀拦截率之外，我们应该从被动防御转向主动出击，凭借自身在数据分析、安全技术上的优势，将安全对抗拉升到更高的层次。另一方面对于取证监控发现的其他受害用户，可以通过合适的方式提前发出安全警告，避免用户进一步遭受损失；</li>
<li>很多用户受骗正是因为钓鱼短信的发件人显示为10086、95588等正常号码而放松安全警惕导致中招，而提供安全可信的网络环境应该是运营商的基本责任和义务，运营商需要加强对伪基站的监控打击力度，帮助更多用户升级到安全级别更高的4G网络，减少遭受伪基站干扰的几率；</li>
<li>各大银行、各支付平台需要加强对各自支付转账渠道的监管，完善对用户资金转移等敏感操作的风控机制，防止被不法分子利用窃取用户网银财产；</li>
<li>对于手机厂商，安全保护同样是手机ROM开发设计需要考虑的一个重点环节，厂商可以从系统底层加强对敏感权限的访问控制，尤其是涉及到用户隐私的联系人、短信记录等信息，做到更好的保护和提示。</li>
</ol>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          